package InterFace.PrivateMethod;
/*
java9支持的接口私有方法

问题描述：
我们需要抽取一个共有方法，用来解决两个默认方法之间代码重复的问题
但是这个方法不应该让实现类使用，应该是私有化的。

解决方法：
java9开始，接口中允许定义私有方法：
1、普通私有方法，解决多个默认方法之间重复代码问题
格式：
private 返回值类型 方法名称(参数列表){
        方法体
}
2、静态私有方法，解决多个静态方法之间重复代码问题
private static 返回值类型 方法名称(参数列表){
        方法体
}
*/
public interface InterfacePrivateMethod {

    public default void methodDefault1(){
        System.out.println("默认方法1");
        //methodCommon();
    }
    public default void methodDefault2(){
        System.out.println("默认方法2");
        //methodCommon();
    }

    //把共有的抽出来，避免重复冗余代码
    //因为我是java8,不支持接口私有方法
    /*private default void methodCommon(){
        System.out.println("AAA");
        System.out.println("BBB");
        System.out.println("CCC");
    }*/

}
